Fixed OpenGL extension detection for extensions promoted to OpenGL core.
authorDavid Hogan <david.q.hogan@gmail.com>
Wed, 12 Feb 2020 19:52:24 +0000 (06:52 +1100)
committerDavid Hogan <david.q.hogan@gmail.com>
Thu, 13 Feb 2020 18:41:01 +0000 (05:41 +1100)
commitc4111dad314848fee057344026e87dfa64755bb6
tree52006c856d659423bfe33176cebbcc2060310bcb
parent33c6032a1069fe47b6647a1abf49a5d6d14c6a3a
Fixed OpenGL extension detection for extensions promoted to OpenGL core.

For a given OpenGL context, macOS in particular does not support enumeration / detection of OpenGL features that have been promoted to core OpenGL functionality. It is possible other drivers are the same. This change assumes support for GL_ARB_texture_non_power_of_two with OpenGL 2.0+, GL_ARB_texture_rectangle with OpenGL 3.1+ and GL_EXT_framebuffer_blit with OpenGL 3.0+. I failed to find definitive information on whether GL_GREMEDY_frame_terminator has been promoted to OpenGL core, or whether GL_ANGLE_framebuffer_blit or GL_EXT_unpack_subimage have been promoted to core in OpenGL ES. This change results in a significant GtkGLArea performance boost on macOS.

Closes #2428
gdk/gdkglcontext.c